//通用函数
var empty = function( ){

};
var loop = function( total, single ){
	var i;
	for(i = 0; i<total; i++){
		single( i );
	}
};
var foreach = function( li, single ){
	var p = null;
	for(p in li){
		single( li[p] );
	}
};
var loop_break = function( total, single ){
	var i;
	for(i = 0; i<total; i++){
		if(!single( i )){
			break;
		}
	}
};
var foreach_break = function( li, single ){
	var p;
	for(p in li){
		if(!single( li[p] )){
			break;
		}
	}
};
var reverse = function( li ){
	var rst = [ ];
	loop( li.length, function( i ){
		rst.push( li[li.length-i-1] );
	} );
	return rst;
};
var testeach = function( li, test ){
	var rst = false;
	foreach_break( li, function( e ){
		if(test( e )){
			rst = true;
			return false;
		}
		else{
			return true;
		}
	} );
	return rst;
};
var has = function( li, t ){
	return testeach( li, function( e ){
		return e==t;
	} );
};
/**
 * 计数器
 * 可以跨越多个函数调用
 */
function counter( ){
	var c = 0;
	return {
		inc: function( ){
			c++;
		},
		show: function( ){
			return c;
		}
	};
}
